MVH4000D Series Datasheet  
6-User Guide  
6.1 Sensor Communications  
The MVH4000D series sensors communicate using the Inter-IC (I2C) standard bus protocol. To  
accommodate multiple devices, the protocol uses two bi-directional open-drain lines: a Serial Data Line  
(SDA) and a Serial Clock Line (SCL). Because these are open-drain lines, pull-up resistors to VDD must  
be provided as shown in Fig. 7. Several slave devices can share the I2C bus, but only one master device  
can be present on the line.  
VDD  
Pull-up  
resistors  
SCL  
Master  
SDA  
Slave 1  
Slave 2  
Slave 3  
Fig. 7: Diagram of an I2C interconnect with one master and three slave devices.  
Each transmission is initiated when the master sends a ‘0’ start bit (S), and the transmission is terminated  
when the master sends a ‘1’ stop bit (P). These bits are exclusively transmitted while the SCL line is  
high. The waveforms corresponding to these conditions are illustrated in Fig. 8.  
Start Condition  
Stop Condition  
SCL  
SCL  
Start  
Stop  
SDA  
SDA  
Fig. 8: I2C bus start and stop conditions.  
Once the start condition has been sent, the SCL line is toggled at the prescribed data-rate, clocking  
subsequent data transfers. Data on the SDA line is always sampled on the rising edge of the SCL line and  
must remain stable while SCL is high to prevent false Start or Stop conditions (see Fig. 8).  
Following the start bit, address bits select the device targeted for communications and a read/write bit  
indicates the transfer direction of any subsequent data. The master sends the unique 7-bit address of the  
desired device and a read/write bit set to ‘1’ to indicate a read from slave to master or to ‘0’ to indicate  
a write from master to slave. All transfers consist of eight data bits and one response bit set to ‘0’ for  
Acknowledge (ACK) or ‘1’ for Not Acknowledge (NACK). After the acknowledge signal is received  
another data byte can be transferred, or the communication can be stopped with a stop bit.  
An MVH4000D series sensor operates as a slave on the I2C bus and supports data rates of up to 400 kHz  
in accordance with the I2C protocol. The default address of the sensor is 0x54. Custom I2C addresses can  
be provided upon request (please contact support@mems-vision.com for details). The sensor can be  
interfaced with any I2C master such as a microcontroller, and the master is responsible for generating the  
SCL signal for all communications with the MVH4000D series sensor.  
Revision 0.98  
MEMS Vision  
10/29  
   
MVH4000D Series Datasheet  
The official I2C-bus specification and user manual documentation can be found at:  
The MVH4000D series sensors are equipped with different commands to configure the chip and to  
perform measurement as described in Table 3.  
Table 3: Commands Code and Description.  
Command Code (HEX)  
Description  
Hold Temperature Measurement  
No-hold Temperature Measurement  
Hold Humidity and Temperature Measurement  
No-hold Humidity and Temperature Measurement  
Read Register  
0xE3  
0xF3  
0xE5  
0xF5  
0xA7  
0xA6  
0x30  
0xD7  
Write Register  
Stop Periodic Measurements  
Read Sensor ID  
The Hold and No-hold commands will be described in Section 6.2, and the read and write register  
commands will be described in Section 6.5. The MVH4000D sensor can measure only temperature or  
both humidity and temperature as described in Table 4. Both options return fully calibrated measurements  
that can be converted to humidity and temperature readings using the equations in Section 6.2.3.  
Table 4: Measurement Command Modes.  
Measurement  
Command  
Mode  
Number of data  
bytes sent on the  
I2C bus  
Description  
The chip only measures temperature and sends the  
14-bit result once the measurement is complete.  
2 bytes + 1 byte  
CRC  
Temperature  
The chip measures humidity and temperature and sends  
the 14-bit humidity result followed by the 14-bit  
temperature result once the measurement is complete.  
Humidity and  
Temperature  
4 bytes + 1 byte  
CRC  
6.2 Performing Measurements with the MVH4000D Series Sensors  
There are two types of measurement commands:  
1. Hold measurement commands: The MVH4000D series sensor holds the SCL line low during  
the measurement and releases the SCL line when the measurement is complete. This lets the  
master know exactly when the measurement has finished. Using this mode will prevent the  
master from communicating with any other slave until the measurement is complete. Note  
that the minimum frequency for the SCL clock in this mode is 200 kHz.  
2. No-hold measurement commands: The MVH4000D series sensor does not hold the SCL line  
low, and the master is free to initiate communication with other slaves while the chip is  
performing the measurement. To obtain the measurement data, the master must request the  
result from the chip after the expected conversion time which depends on the measurement  
Revision 0.98  
MEMS Vision  
11/29  
     
MVH4000D Series Datasheet  
resolution as summarized in Section 6.2.4. There is no minimum clock frequency when in this  
mode.  
6.2.1 Performing a Hold Measurement  
A hold measurement sequence consists of the following steps, as illustrated in Fig. 9.  
1.  
Wake up the MVH4000D series sensor from sleep mode by sending its I2C address with a write bit,  
and initiate a measurement by sending the desired hold measurement command.  
2.  
Change the direction of communication by sending a start bit, the MVH4000D I2C address, and a  
read bit. The SCL line is held low by the sensor during the measurement process, which prevents  
the master from initiating any communications with other slaves on the bus.  
3.  
Once the requested measurement is completed by the MVH4000D series sensor, the SCL line is  
released and the chip waits for the SCL clock signal to send the results. The sensor will then transmit  
the requested measurement data on the bus for the master to capture.  
Step 1 :  
S
1
0
1
0
1
0
0
0
ACK  
1
1
1
0
0
1
0
1
ACK  
I2C Address (7 bits) + write bit  
Measurement Command (0xE5)  
The MVH4000D chip  
starts measuring  
Step 2 :  
S
1
0
1
0
1
0
0
1
ACK The SCL line is held low  
I2C Address (7 bits) + read bit  
Step 3 :  
The master can stop the data transmission at any point if the  
rest of the data is not needed.  
NACK P  
ACK  
0
0
0
1
0
0
0
0
1
0
1
ACK  
ACK  
1
1
P
0
0
0
0
0
0
0
0
0's  
Humidity Data [13:8]  
Humidity Data [7:0]  
0
0
0
1
0
1
0
0
0
0
0
0
ACK  
0's  
Temperature Data [13:8]  
Temperature Data [7:0]  
1
1
1
0
0
1
0
NACK  
CRC  
Start Sequence  
Bits generated by the master  
S
P Stop Sequence  
Bits generated by the MVH4000D chip  
Fig. 9: Typical hold measurement sequence for a humidity and temperature command.  
6.2.2 Performing a No-Hold Measurement  
A no-hold measurement sequence consists of the following steps, as illustrated in Fig. 10.  
1.  
Wake up the MVH4000D series sensor from sleep mode by sending its I2C address with a write bit,  
and initiate a measurement by sending the desired no-hold measurement command.  
2.  
To read the result from the MVH4000D series sensor, the master has to send the chip its I2C  
address and a read bit. If the measurement is completed and the result is ready, the chip will send  
Revision 0.98  
MEMS Vision  
12/29  
 
MVH4000D Series Datasheet  
an ACK bit and starts to send the result over the bus. If the measurement is still in progress, the  
chip will send a NACK bit and the master will need to try to read the result again.  
Step 1 :  
The MVH4000D  
chip starts  
measuring here  
S
1
0
1
0
1
0
0
0
ACK  
1
1
1
1
0
1
0
1
ACK  
P
I2C Address (7 bits) + write bit  
Measurement Command (0xF5)  
Step 2:  
The MVH4000D chip replies with NACK if  
the result is not ready  
S
1
0
1
0
1
0
0
1
1
NACK  
ACK  
I2C Address (7 bits) + read bit  
The MVH4000D chip replies with ACK if the  
result is ready then starts to send the result  
S
1
0
1
0
1
0
0
I2C Address (7 bits) + read bit  
The master can stop the data transmission at any point if the  
rest of the data is not needed.  
NACK P  
ACK  
0
0
1
S
0
0
1
0
0
0
0
1
0
1
ACK  
ACK  
1
1
P
0
0
0
0
0
0
0
0
0's  
0's  
Humidity Data [13:8]  
Humidity Data [7:0]  
0
0
1
0
1
0
0
0
0
0
0
ACK  
Temperature Data [13:8]  
Temperature Data [7:0]  
1
1
0
0
1
0
NACK  
CRC  
Start Sequence  
Bits generated by the master  
P Stop Sequence  
Bits generated by the MVH4000D chip  
Fig. 10: Typical no-hold measurement sequence for a humidity and temperature command.  
6.2.3 Interpreting the Data  
As stated in Table 4, the measurement data can either be two or four bytes long depending on whether a  
temperature measurement or a humidity and temperature measurement was initiated. The most significant  
bit of the reading is sent first followed by the least significant bits. The humidity and temperature  
measurements are always scaled up to a 14-bit value regardless of the selected resolution of the sensor.  
The relative humidity (in percent) and the temperature (in degrees Celsius) are obtained as follows:  
[
] 100  
푇푒푚푝푒푟푎푡푢푟푒 °퐶 = ꢇꢈꢂꢉꢈꢊꢋꢅꢁꢊꢈ [13:0] 165 − 40  
ꢀꢁꢂꢃꢄꢃꢅꢆ 13:0  
[
]
[
]
퐻푢푚푖푑푖푡푦 %푅퐻 =  
14  
14  
2
−1  
2
−1  
6.2.4 Measurement Conversion Times  
The MVH4000D series sensors are designed to have relatively fast conversion times. The conversion time  
depends on the resolution of the measurement and the command type (temperature or humidity and  
temperature). Table 5 summarizes the conversion times for different resolutions.  
Revision 0.98  
MEMS Vision  
13/29  
     
MVH4000D Series Datasheet  
Table 5: Conversion Times.  
Resolution Measurement  
Measurement  
(bits)  
Time (ms)  
8
0.37  
0.45  
0.60  
0.91  
0.64  
0.80  
1.04  
1.70  
10  
12  
14  
8
Temperature  
10  
12  
14  
Humidity and  
Temperature1  
1 Assuming the same resolution settings for both humidity and temperature measurements.  
6.2.5 CRC Checksum Calculation  
An 8-bit CRC checksum is transmitted after each measurement so the user can check for data corruption  
during communications if desired. The properties of the CRC algorithm used are summarized in Table 6,  
and the CRC is based on all 4 bytes of measurement data (2 bytes of humidity data followed by 2 bytes of  
temperature data). For temperature-only measurements, the 2 bytes of humidity data are set to be all 0’s  
for the CRC calculation.  
Table 6: CRC Checksum Properties.  
Property  
Value  
Input Data Width  
CRC Width  
Polynomial  
32 bits  
8 bits  
0x1D (x8 + x4 + x3 + x2 + 1)  
Initial Value  
0xFF  
Final XOR Value  
Reflect Input  
Reflect Output  
Example  
0x00  
No  
No  
CRC (0x05800580) = 0xF2  
Revision 0.98  
MEMS Vision  
14/29  
   
MVH4000D Series Datasheet  
6.3 Periodic Measurement Mode  
The MVH4000D sensors can also be configured to measure at regular intervals without user intervention,  
and the process to enable this mode is described in Section 6.6.2. In this mode, the user can read the  
latest relative humidity / temperature data by issuing a data fetch sequence, which consists of sending the  
MVH4000D I2C address with a read bit. The sensor will then send the latest measurement result over  
the I2C bus. The data fetch sequence is illustrated in Fig. 11.  
Step 1 :  
S
1
0
1
0
1
0
0
1
ACK The MVH4000D chip responds with an ACK  
and then starts to send the latest result  
I2C Address (7 bits) + read bit  
Step 2:  
0
0
0
1
0
0
0
0
1
0
1
1
ACK  
ACK  
1
1
P
0
0
0
0
0
0
0
0
0
0
ACK  
ACK  
0's  
Humidity Data [13:8]  
Humidity Data [7:0]  
0
0
0
1
0
0
0
0
0
0's  
Temperature Data [13:8]  
Temperature Data [7:0]  
1
1
1
0
0
1
0
NACK  
CRC  
S Start Sequence  
Bits generated by the master  
P Stop Sequence  
Bits generated by the MVH4000D chip  
Fig. 11: Sequence to retrieve the latest results in periodic measurement mode.  
The frequency of the periodic measurements can be set using the configuration registers. Section 6.5  
describes how these registers are accessed, and Section 6.6.2 provides the register settings needed to  
configure and activate the periodic measurements.  
When the periodic measurement mode is active, the only commands the chip will respond to are the data  
fetch command, and a command to stop the periodic measurements. The command to stop periodic  
measurements is issued by sending the I2C address with a write bit, followed by the command 0x30, as  
shown in Fig. 12. Once the periodic measurements have been stopped, the chip returns to sleep and is  
ready to accept all valid I2C commands.  
S
1
0
1
0
1
0
0
0
ACK  
0
0
1
1
0
0
0
0
ACK  
P
I2C Address (7 bits) + write bit  
Stop Periodic Meas. Command (0x30)  
Fig. 12: Sequence to stop periodic measurements.  
Revision 0.98  
MEMS Vision  
15/29  
   
MVH4000D Series Datasheet  
6.4 Alert Feature  
The MVH4000D has an optional Alert feature that can be configured in two ways as follows:  
1. The Alert pin can be used to indicate when a measurement is active in Periodic Measurement  
Mode. This is the default behavior of the Alert pin upon power-up.  
2. The Alert pin can be used to trigger an interrupt on the system microcontroller so an appropriate  
action can be taken if the temperature or humidity is outside of the desired limits.  
These features will be described in the following two sub-sections.  
6.4.1 Alert Pin Measurement Active  
The default behavior of the Alert pin is to indicate when a measurement is active if Periodic Measurement  
Mode is used. Upon power-up, the Alert pin will have a logic high level. When periodic measurement  
mode is activated, the Alert pin will have a logic low level between measurements, and a logic high during  
measurements. This behavior is shown in Fig. 13, and the Alert pin will exhibit this functionality when the  
temperature and humidity alerts are disabled (see Table 10).  
If Periodic Measurement Mode is not active, the Alert pin will remain at a logic high level.  
Measurementin Progress  
State  
of Alert  
pin at  
power-  
up  
Periodic  
Measurement  
Mode Activated  
Fig. 13: Alert Pin Functionality Measurement Active Indicator.  
6.4.2 Alert Pin Humidity / Temperature Threshold Detection  
The Alert pin can also be configured to send a signal when a humidity / temperature threshold is exceeded,  
and the system needs to take action. In this mode, the Alert feature has a programmable threshold,  
polarity, and hysteresis, and can apply to both temperature and humidity measurements. An example of  
the fuctionality of the Alert feature can be seen in Fig. 14.  
Revision 0.98  
MEMS Vision  
16/29  
 
MVH4000D Series Datasheet  
Fig. 14: Example of Alert Pin Functionality in Humidity / Tempreature Detection Mode.  
The registers used to enable the Alert feature and the temperature / humidity thresholds are shown in  
Table 10. When the Alert feature is enabled for either humidity or temperature in Periodic Measurement  
Mode, an additional status byte will precede the measurement values. The format of the bits returned  
from the MVH4000D sensor when any Alert is enabled during Periodic Measurement Mode is shown in  
Fig. 15, and the meaning of the Alert status bits are defined in Table 7.  
Table 7: Alert status bits.  
Status Bit  
Meaning  
TH  
TL  
High (0b1) if the Temperature High Alert is triggered  
High (0b1) if the Temperature Low Alert is triggered  
High (0b1) if the Humidity High Alert is triggered  
High (0b1) if the Humidity Low Alert is triggered  
HH  
HL  
Revision 0.98  
MEMS Vision  
17/29  
   
MVH4000D Series Datasheet  
X
0
0
1
X
X
X
TH TL HH HL ACK  
Alert Status  
Don't Care  
0
0
1
0
0
0
1
0
1
ACK  
ACK  
1
1
P
0
0
0
0
0
0
0
0
0
0
ACK  
ACK  
0's  
0's  
Humidity Data [13:8]  
Humidity Data [7:0]  
0
0
0
1
0
1
0
0
0
0
Temperature Data [13:8]  
Temperature Data [7:0]  
1
1
0
0
1
0
NACK  
CRC  
S Start Sequence  
Bits generated by the master  
P Stop Sequence  
Bits generated by the MVH4000D chip  
Fig. 15: Data returned from MVH4000D chip when the Alert feature is enabled in Periodic Measurement  
Mode.  
6.5 Accessing Configurable Sensor Registers  
The MVH4000D measurement settings can be changed by accessing the appropriate configuration  
registers and altering their values. This can be done by issuing a Write Register command. A Read Register  
command is also available to read the configuration register values. These commands will be described in  
this section, and the configuration registers and settings will be described in Section 6.6.  
While accessing specific configuration bits in any register, all the other bits in that register must be left  
unchanged. To write a specific bit/bits in a register, the process is as follows:  
1. Read the entire configuration register using the sequence described in Section 6.5.1.  
2. Mask the register such that only the required bits are changed, according to the configuration  
parameters in Section 6.6.  
3. Write the new register back to the appropriate address using the Write Register command  
sequence described in Section 6.5.2.  
All configuration registers will be reset to their default values if the power supply to the chip is cutoff.  
6.5.1 Read Register Command  
A Read Register sequence consists of the following steps, as illustrated in Fig. 16.  
1. Wake up the MVH4000D series sensor from sleep mode by sending its I2C address with a  
write bit, and initiate a Read Register command by sending the command 0xA7.  
2. Send the address of the register to be read.  
3. Change the direction of communication by sending the MVH4000D I2C address and a read bit.  
The chip will send the data stored in this register, after which the master replies with a NACK  
and a STOP bit.  
Revision 0.98  
MEMS Vision  
18/29  
     
MVH4000D Series Datasheet  
Step 1 :  
S
1
0
1
0
1
0
0
0
0
ACK  
ACK  
1
0
1
0
0
1
1
1
ACK  
I2C Address (7 bits) + write bit  
Read Register Command (0xA7)  
Step 2 :  
0
0
0
0
0
0
0
Register Address  
Step 3 :  
S
1
0
1
0
1
0
0
1
ACK  
0
0
1
0
1
1
1
1
NACK  
P
I2C Address (7 bits) + read bit  
Register Data  
S
Start Sequence  
P Stop Sequence  
Bits generated by the MVH4000D chip  
Bits generated by the master  
Fig. 16: Read Register command sequence.  
6.5.2 Write Register Command  
A Write Register sequence consists of the following steps, as illustrated in Fig. 17.  
1. Wake up the MVH4000D series sensor from sleep mode by sending its I2C address with a  
write bit, and initiate a Write Register command by sending the command 0xA6.  
2. Send the address of the register to write.  
3. Send the data to be stored in this register followed by a STOP bit.  
Step 1 :  
S
1
0
1
0
1
0
0
0
0
0
ACK  
ACK  
ACK  
1
0
1
0
0
1
1
0
ACK  
I2C Address (7 bits) + write bit  
Write Register Command (0xA6)  
Step 2 :  
0
0
0
0
0
0
0
Register Address  
Step 3 :  
0
0
1
0
1
0
1
P
Data to be saved in the register  
S
Start Sequence  
P Stop Sequence  
Bits generated by the MVH4000D chip  
Bits generated by the master  
Fig. 17: Write Register command sequence.  
Revision 0.98  
MEMS Vision  
19/29  
     
MVH4000D Series Datasheet  
6.6 Configuration Bits  
6.6.1 Setting the Measurement Resolution  
The chip can be configured to perform measurements at different humidity and temperature resolutions  
by using the Read and Write Register commands with the appropriate register address. There are four  
separate resolution settings for the temperature and humidity measurements, as summarized in Table 8.  
Table 8: Temperature and Humidity Measurement Resolution Settings.  
Register Address  
Setting  
Bits  
Description  
(HEX)  
0b00 for 8 bits  
0b01 for 10 bits  
0b10 for 12 bits  
0b11 for 14 bits  
0b00 for 8 bits  
0b01 for 10 bits  
0b10 for 12 bits  
0b11 for 14 bits  
Resolution for  
temperature  
measurement  
0x00  
<1:0>  
Resolution for  
humidity  
measurement  
0x00  
<3:2>  
6.6.2 Periodic Measurement Settings  
The registers that are used to activate and configure the periodic measurement settings are shown in  
Table 9: Periodic Measurement Settings.  
Register Address  
Setting  
Bits  
Description  
(HEX)  
0b0 when periodic measurements are deactivated  
0b1 to activate periodic measurements  
0b00 for a measurement every 0.5 s  
0b01 for a measurement every 1 s  
Activate Periodic  
Measurements  
0x02  
<7>  
Frequency of  
Periodic  
Measurements  
0x02  
<5:4>  
0b10 for a measurement every 2.5 s  
Revision 0.98  
MEMS Vision  
20/29  
       
MVH4000D Series Datasheet  
6.6.3 Alert Feature Settings  
Table 10: Alert Feature Settings.  
Register  
Setting  
Address  
(HEX)  
Bits  
Description  
Alert Pin Polarity  
in Humidity /  
Temperature  
Threshold  
0b0 Alert pin is active high when triggered  
0b1 Alert pin is active low when triggered  
0x02  
0x03  
<0>  
Detection Mode  
Enable the Alert feature when thresholds are surpassed as  
follows:  
Bit <0>: RH Low alert enable  
Bit <1>: RH High alert enable  
Bit <2>: Temperature Low alert enable  
Bit <3>: Temperature High alert enable  
Alert Enable  
Settings  
<3:0>  
Setting a bit to 0b1 means this specific alert condition is  
enabled, and setting a bit to 0b0 means this specific alert  
condition is disabled.  
Registers 0x08, 0x07 set the threshold for when the  
“Temperature High” alert is triggered. When the measured  
temperature goes above the value in this register, the Alert pin  
will be triggered.  
Trigger Threshold  
for Temperature  
High Alert  
The temperature used for the threshold is composed of 14-bits  
as follows:  
0x08, 0x07  
<13:0>  
Register 0x08  
Register 0x07  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Trigger Threshold [13:8]  
Trigger Threshold [7:0]  
This 14-bit value is converted into a temperature threshold  
using the same conversion equation shown in Section 6.2.3.  
Registers 0x06, 0x05 set the threshold for when the  
“Temperature High” alert condition is reset. After the alert is  
triggered, it will only be reset after the measured temperature  
goes below the value in this register.  
Reset Threshold  
for Temperature  
High Alert  
The temperature used for the threshold is composed of 14-bits  
as follows:  
0x06, 0x05  
<13:0>  
Register 0x06  
Register 0x05  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Reset Threshold [13:8]  
Reset Threshold [7:0]  
This 14-bit value is converted into a temperature threshold  
using the same conversion equation shown in Section 6.2.3.  
Revision 0.98  
MEMS Vision  
21/29  
 
MVH4000D Series Datasheet  
Registers 0x0A, 0x09 set the threshold for when the  
“Temperature Low” alert is triggered. When the measured  
temperature goes below the value in this register, the Alert pin  
will be triggered.  
Trigger Threshold  
for Temperature  
Low Alert  
The temperature used for the threshold is composed of 14-bits  
as follows:  
0x0A, 0x09  
<13:0>  
Register 0x0A  
Register 0x09  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Trigger Threshold [13:8]  
Trigger Threshold [7:0]  
This 14-bit value is converted into a temperature threshold  
using the same conversion equation shown in Section 6.2.3.  
Registers 0x0C, 0x0B set the threshold for when the  
“Temperature Low” alert condition is reset. After the alert is  
triggered, it will only be reset after the measured temperature  
goes above the value in this register.  
Reset Threshold  
for Temperature  
Low Alert  
The temperature used for the threshold is composed of 14-bits  
as follows:  
0x0C, 0x0B  
0x10, 0x0F  
0x0E, 0x0D  
<13:0>  
<13:0>  
<13:0>  
Register 0x0C  
Register 0x0B  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Reset Threshold [13:8]  
Reset Threshold [7:0]  
This 14-bit value is converted into a temperature threshold  
using the same conversion equation shown in Section 6.2.3.  
Registers 0x10, 0x0F set the threshold for when the “RH High”  
alert is triggered. When the measured RH goes above the  
value in this register, the Alert pin will be triggered.  
Trigger Threshold  
for Relative  
Humidity High  
Alert  
The humidity used for the threshold is composed of 14-bits as  
follows:  
Register 0x10  
Register 0x0F  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Trigger Threshold [13:8]  
Trigger Threshold [7:0]  
This 14-bit value is converted into a humidity threshold using  
the same conversion equation shown in Section 6.2.3.  
Registers 0x0E, 0x0D set the threshold for when the “RH  
High” alert condition is reset. After the alert is triggered, it will  
only be reset after the measured RH goes below the value in  
this register.  
Reset Threshold  
for Relative  
Humidity High  
Alert  
The humidity used for the threshold is composed of 14-bits as  
follows:  
Register 0x0E  
Register 0x0D  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Reset Threshold [13:8]  
Reset Threshold [7:0]  
This 14-bit value is converted into a humidity threshold using  
the same conversion equation shown in Section 6.2.3.  
Revision 0.98  
MEMS Vision  
22/29  
MVH4000D Series Datasheet  
Registers 0x12, 0x11 set the threshold for when the “RH Low”  
alert is triggered. When the measured RH goes below the  
value in this register, the Alert pin will be triggered.  
Trigger Threshold  
for Relative  
Humidity Low  
Alert  
The humidity used for the threshold is composed of 14-bits as  
follows:  
0x12, 0x11  
<13:0>  
Register 0x12  
Register 0x11  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Trigger Threshold [13:8]  
Trigger Threshold [7:0]  
This 14-bit value is converted into a humidity threshold using  
the same conversion equation shown in Section 6.2.3.  
Registers 0x14, 0x13 sets the threshold for when the “RH  
Low” alert condition is reset. After the alert is triggered, it will  
only be reset after the measured RH goes above the value in  
this register.  
Reset Threshold  
for Relative  
Humidity Low  
Alert  
The humidity used for the threshold is composed of 14-bits as  
follows:  
0x14, 0x13  
<13:0>  
Register 0x14  
Register 0x13  
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0's  
Reset Threshold [13:8]  
Reset Threshold [7:0]  
This 14-bit value is converted into a humidity threshold using  
the same conversion equation shown in Section 6.2.3.  
6.7 Reading the Sensor ID Number  
The sensor ID is a 32-bit number that can be used to identify a given device. Each sensor has a unique ID  
that can be used for traceability. The sequence to read the sensor ID is as follows:  
1. Wake up the MVH4000D series sensor from sleep mode by sending its I2C address with a  
write bit, and initiate a Read Sensor ID command by sending the command 0xD7.  
2. Change the direction of communication by sending the MVH4000D I2C address and a read bit.  
The SCL line is held low by the sensor while it retrieves the ID from internal memory to  
prevent data corruption. The sensor takes approximately 10 µs to retrieve the ID from internal  
memory.  
3. Once the request is completed by the MVH4000D series sensor, the SCL line is released and  
the chip waits for the SCL clock signal to send the results. The sensor will then transmit the  
4-byte sensor ID on the bus for the master to capture, MSB first.  
The command sequence to read the sensor ID is illustrated in Fig. 18.  
Revision 0.98  
MEMS Vision  
23/29  
MVH4000D Series Datasheet  
Step 1 :  
S
1
0
1
0
1
0
0
0
1
ACK  
ACK  
1
1
0
1
0
1
1
1
ACK  
I2C Address (7 bits) + write bit  
Read Sensor ID Command (0xD7)  
Step 2 :  
The MVH4000D chip reads the sensor ID  
from internal memory, and the SCL line is  
held low. This process takes ~10µs.  
S
1
0
1
0
1
0
0
I2C Address (7 bits) + read bit  
Step 3 :  
0
0
0
0
0
0
1
0
0
1
1
ACK  
ACK  
1
1
0
0
0
0
0
0
0
0
0
0
ACK  
Sensor ID [31:24]  
Sensor ID [23:16]  
0
0
0
0
1
0
0
0
0
NACK  
P
Sensor ID [15:8]  
Start Sequence  
Bits generated by the master  
Sensor ID [7:0]  
P Stop Sequence  
Bits generated by the MVH4000D chip  
S
Fig. 18: Read Sensor ID command sequence.  
Revision 0.98  
MEMS Vision  
24/29  
 
MVH4000D Series Datasheet  
6.8 I2C Timing Specifications  
The timing diagram for all I2C communications is shown in Fig. 19, and the minimum and maximum values  
for each critical timing parameter (e.g., setup times, hold times) are listed in Table 11.  
Fig. 19: I2C timing diagram.  
Table 11: I2C Timing Parameters.  
Parameter  
Symbol Min Max Units  
SCL frequency  
Start bit setup time  
Start bit hold time  
Minimum SCL low width  
Minimum SCL high width  
Data setup time  
Data hold time  
Stop bit setup time  
fSCL  
tsu-start  
th-start  
tlow  
0
400 kHz  
0.1  
0.1  
1
0.6  
0.1  
0.5  
0.1  
2.5  
s  
s  
s  
s  
s  
s  
s  
s  
thigh  
tsu-data  
th-data  
tsu-stop  
tidle  
SDA unused time between stop and start bits  
Revision 0.98  
MEMS Vision  
25/29